package cc.telecomdigital.tdstock.trading.Common;

//import android.app.Activity;
//import android.content.ContentValues;
import android.content.Context;
//import android.content.res.Resources;
//import android.database.Cursor;
//import android.database.sqlite.SQLiteDatabase;
//import android.database.sqlite.SQLiteException;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;

import cc.telecomdigital.tdstock.R;
//import cc.telecomdigital.tdstock.trading.Tools.Trade_StockFunctionTools;

public class Trade_AppBannerDataSet
{
	public static final int		BANNER_ANIMATE_CONSTANT	= 300;
	public static final int		BANNER_ANIMATE_TYPE		= R.anim.slide_up_in;	

//	static private final String	BANNER_DB_NAME			= "sqlTDSec.db";
//	static private final String	BANNER_TABLE_NAME		= "BannerTable";
//	static private final String	BANNER_DATA_NAME		= "BannerData";
//	static private final String[]	BannerDBRange			= { "_ID",
//			BANNER_DATA_NAME						};

	// must start with 1 or greater
//	static private final int		BANNER_DATA_VERSION		= 1;

	static private int[] appInMemory = null;
	
	/** Initialize the App Banner Storage, putting the pre-defined Bitmap into storage **/
	public static int InitAppBannerStorage(Context iContext)
	{
//		int cursorCount;
//		Cursor cursor;
//		SQLiteDatabase mDataBase;
//
//		// Create one for sure
//		mDataBase = iContext.openOrCreateDatabase(BANNER_DB_NAME,
//				SQLiteDatabase.CREATE_IF_NECESSARY, null);
//		// Create the table for sure
//		if (mDataBase.getVersion() != BANNER_DATA_VERSION)
//			mDataBase.execSQL("DROP TABLE IF EXISTS " + BANNER_TABLE_NAME);
//
//		mDataBase.execSQL("CREATE TABLE IF NOT EXISTS " + BANNER_TABLE_NAME
//				+ " (_ID INTEGER PRIMARY KEY AUTOINCREMENT,"
//				+ BANNER_DATA_NAME + " BLOB,hash BLOB UNIQUE);");
//
//		// Check whether we have content
//		cursor = mDataBase.query(BANNER_TABLE_NAME, BannerDBRange, null,
//				null, null, null, BannerDBRange[0]);
//		cursorCount = cursor.getCount();
//		// OK we have some data and should give up
//		if (cursorCount != 0)
//		{
//			cursor.close();
//			mDataBase.close();
//			return cursorCount;
//		}
//		cursor.close();

		// Installing the default
//
//		byte[] imgData;
//		Resources resCont;
//		ContentValues dataValue;

//		int[] appInMemory;

		appInMemory = new int[] { R.drawable.ad_1,
				R.drawable.ad_2, R.drawable.ad_a,
				R.drawable.ad_b, R.drawable.ad_c };

//		resCont = iContext.getResources();
//		for (int index = 0; index < appInMemory.length; index++)
//		{
//			// Dump the byte array data into the database if it is new
//			imgData = Trade_StockFunctionTools.GetBytesofDrawableImage(
//					resCont, appInMemory[index]);
//			dataValue = new ContentValues();
//			dataValue.put(BANNER_DATA_NAME, imgData);
//			mDataBase.insert(BANNER_TABLE_NAME, null, dataValue);
//		}
//
//		mDataBase.setVersion(BANNER_DATA_VERSION);
//
//		mDataBase.close();
		return appInMemory.length;
	}

	public static int GetAdvCount(Context iContext)
	{
		if (appInMemory == null)
			return 0;
		
		return appInMemory.length;
//		int cursorCount;
//		Cursor cursor;
//		SQLiteDatabase mDataBase;
//
//		// Create one for sure
//		mDataBase = iContext.openOrCreateDatabase(BANNER_DB_NAME,
//				SQLiteDatabase.CREATE_IF_NECESSARY, null);
//		// Create the table for sure
//		if (mDataBase.getVersion() != BANNER_DATA_VERSION)
//			mDataBase.execSQL("DROP TABLE IF EXISTS " + BANNER_TABLE_NAME);
//
//		mDataBase.execSQL("CREATE TABLE IF NOT EXISTS " + BANNER_TABLE_NAME
//				+ " (_ID INTEGER PRIMARY KEY AUTOINCREMENT,"
//				+ BANNER_DATA_NAME + " BLOB,hash BLOB UNIQUE);");
//
//		// Check whether we have content
//		cursor = mDataBase.query(BANNER_TABLE_NAME, BannerDBRange, null,
//				null, null, null, BannerDBRange[0]);
//		cursorCount = cursor.getCount();
//		// OK we have some data and should give up
//		cursor.close();
//		mDataBase.close();
//		
//		return cursorCount;			
	}
	
	public static int GetImageResource(int iId)
	{
		if (iId >= appInMemory.length)
			iId = 0;
		
		return appInMemory[iId];
	}
	
	/** Get the image from our resource storage **/
	public static Bitmap GetAdvBitmapFromResource(Context iContext, int iId)
	{
		if (appInMemory == null)
			return null;
		
		if ((appInMemory.length == 0) || (iId >= appInMemory.length))
			return null;

		 Bitmap mapImage;
		 
		 try
		 {
			 Drawable drawObj = iContext.getResources().getDrawable(appInMemory[iId]);  
			 mapImage = ((BitmapDrawable)drawObj).getBitmap();
		 }
		 catch(Exception ex)
		 {
			 mapImage = null;
		 }
		
		 return mapImage;
		 
//		int maxCount;
//		SQLiteDatabase mDataBase;
//		Cursor cursor;
//		byte[] bmData;
//
//		mDataBase = iContext.openOrCreateDatabase(BANNER_DB_NAME,
//				Activity.MODE_PRIVATE, null);
//		// GetData from the database
//		cursor = mDataBase.query(BANNER_TABLE_NAME, BannerDBRange, null,
//				null, null, null, BannerDBRange[0]);
//		maxCount = cursor.getCount();
//		if ((maxCount == 0) || (iId >= maxCount))
//		{
//			cursor.close();
//			mDataBase.close();
//			return null;
//		}
//
//		cursor.moveToPosition(iId);
//		bmData = cursor.getBlob(cursor.getColumnIndex(BANNER_DATA_NAME));
//		cursor.close();
//		mDataBase.close();
//
//		return Trade_StockFunctionTools.GetDrawableImageFromBytes(bmData);
	}

	/** Replace in new data for our advertisement storage **/
//	public static boolean UpateAppBannerStorage(int iIndex, Context iContext,
//			byte[] iData)
//	{
//		Cursor cursor;
//		SQLiteDatabase mDataBase;
//		ContentValues dataValue;
//
//		if (iIndex < 0)
//			return false;
//
//		// Create one for sure
//		mDataBase = iContext.openOrCreateDatabase(BANNER_DB_NAME,
//				SQLiteDatabase.CREATE_IF_NECESSARY, null);
//		// Create the table for sure
//		if (mDataBase.getVersion() != BANNER_DATA_VERSION)
//		{
//			mDataBase.close();
//			return false;
//		}			
//
//		try
//		{
//			// Check whether we have content
//			cursor = mDataBase.query(BANNER_TABLE_NAME, BannerDBRange, null,
//					null, null, null, BannerDBRange[0]);
//			if (iIndex >= cursor.getCount())
//			{
//				cursor.close();
//				mDataBase.close();
//				return false;
//			}
//
//			dataValue = new ContentValues();
//			dataValue.put(BANNER_DATA_NAME, iData);
//			mDataBase.update(BANNER_TABLE_NAME, dataValue,
//					"_id=" + Integer.toString(iIndex), null);
//
//			cursor.close();
//			mDataBase.close();
//			return true;
//		}
//		catch (SQLiteException iE)
//		{
//		}
//
//		mDataBase.close();
//		return false;
//	}
//
//	/** Add new Advertisement to the database **/
//	public static boolean AddAppBannerStorage(Context iContext, byte[] iData)
//	{
//		SQLiteDatabase mDataBase;
//		ContentValues dataValue;
//		Cursor cursor;
//
//		cursor = null;
//		// Create one for sure
//		mDataBase = iContext.openOrCreateDatabase(BANNER_DB_NAME,
//				SQLiteDatabase.CREATE_IF_NECESSARY, null);
//		// Create the table for sure
//		if (mDataBase.getVersion() != BANNER_DATA_VERSION)
//		{
//			mDataBase.close();
//			return false;
//		}
//
//		try
//		{
//			// Ensure we have this table exist
//			cursor = mDataBase.query(BANNER_TABLE_NAME, BannerDBRange, null,
//					null, null, null, BannerDBRange[0]);
//			cursor.close();
//			dataValue = new ContentValues();
//			dataValue.put(BANNER_DATA_NAME, iData);
//			mDataBase.insert(BANNER_TABLE_NAME, null, dataValue);
//			mDataBase.close();
//			return true;
//		}
//		catch (SQLiteException iE)
//		{
//		}
//
//		mDataBase.close();
//
//		return false;
//	}

}
